<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<html><head><meta name="qrichtext" content="1" /><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><style type="text/css">
p, li { white-space: pre-wrap; }
</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;">
<p style=" margin-top:18px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'DejaVu Sans'; font-size:11pt; font-weight:600;">				Двоичное (бинарное) и текстовое сравнение строк в VBA			</span><span style=" font-family:'DejaVu Sans'; font-size:11pt;">									Подробности							</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:30px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'DejaVu Sans'; font-size:11pt;">																		Категория: </span><a href="http://macros-vba.ru/knigi/vba"><span style=" font-family:'DejaVu Sans'; font-size:11pt; text-decoration: underline; color:#0000ff;">Основы VBA</span></a><span style=" font-family:'DejaVu Sans'; font-size:11pt;">	</span></p>
<p style=" margin-top:0px; margin-bottom:8px; margin-left:30px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'DejaVu Sans'; font-size:11pt;">					Опубликовано: 17 января 2013				</span></p>
<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'DejaVu Sans'; font-size:11pt;">В языке Visual Basic for Applications (VBA) одна строка равно другой только в том случае, если обе строки имеют одинаковую длину и содержат одинаковые символы в одинаковом порядке. При сравнении строк, VBA распознает начальные и конечные символы пробела. VBA сравнивает строки слева направо и делает это посимвольно.</span></p>
<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'DejaVu Sans'; font-size:11pt;">Как известно, при сохранении текста компьютер использует схему, в которой каждый символ имеет свой уникальный номер, называемый кодом символа. Обычно буквы верхнего регистра (например, А-Я) имеют меньшие номера, чем буквы нижнего регистра (например, а-я). При сравнении строк, VBA позволяет использовать два метода сравнения символов разных регистров – бинарный (или двоичный) и текстовый. Бинарный метод является методом, используемым VBA по умолчанию. При его выполнении сравниваются бинарные эквиваленты чисел для каждого символа и поскольку коды для букв верхнего регистра меньше кодов для букв нижнего регистра, то строка «ААА» меньше строки «ааа».</span></p>
<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'DejaVu Sans'; font-size:11pt;">При текстовом сравнении VBA не использует двоичный эквивалент для каждого символа и рассматривает буквы верхнего регистра как эквиваленты буквам нижнего регистра, при таком сравнении строка «ААА» равна строке «ааа». </span></p>
<p align="center" style=" margin-top:16px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'DejaVu Sans'; font-size:11pt; font-weight:600; font-style:italic;">Выбор метода сравнения строк</span></p>
<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'DejaVu Sans'; font-size:11pt;">Выбор метода сравнения строк производится при помощи директивы Option Compare, которая используется только на модульном уровне и влияет только на сравнения, выполняемые процедурами в этом отдельном модуле. Директиву Option Compare обычно помещают перед объявлениями переменных или процедур. Если команда Option Compare отсутствует, то VBA использует для сравнения строк двоичный метод.</span></p>
<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'DejaVu Sans'; font-size:11pt;">Чтобы задать двоичное сравнение строк, используется ключевое слово Binary: </span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="highlighter_253794"></a><span style=" font-family:'Courier New,courier'; font-size:11pt;">1</span><span style=" font-family:'Courier New,courier'; font-size:11pt;">.</span><span style=" font-family:'Courier New,courier'; font-size:11pt;">Option</span><span style=" font-family:'DejaVu Sans'; font-size:11pt;"> </span><span style=" font-family:'Courier New,courier'; font-size:11pt;">Compare Binary</span></p>
<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'DejaVu Sans'; font-size:11pt;">Чтобы задать текстовое сравнение строк, используется ключевое слово Text:</span></p>
<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'DejaVu Sans'; font-size:11pt;"> </span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="highlighter_712800"></a><span style=" font-family:'Courier New,courier'; font-size:11pt;">1</span><span style=" font-family:'Courier New,courier'; font-size:11pt;">.</span><span style=" font-family:'Courier New,courier'; font-size:11pt;">Option</span><span style=" font-family:'DejaVu Sans'; font-size:11pt;"> </span><span style=" font-family:'Courier New,courier'; font-size:11pt;">Compare Text</span></p>
<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'DejaVu Sans'; font-size:11pt;">	</span></p>
<p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'DejaVu Sans'; font-size:11pt; font-weight:600;">Другие материалы по теме:</span></p>
<ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-family:'DejaVu Sans'; font-size:11pt;" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://macros-vba.ru/knigi/vba/126-sravnenie-v-vba-operatsii-sravneniya"><span style=" text-decoration: underline; color:#0000ff;">				Операции сравнения в VBA</span></a></li>
<li style=" font-family:'DejaVu Sans'; font-size:11pt;" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://macros-vba.ru/knigi/vba/133-operator-vba-like-sravnenie-stroki-s-shablonom-nechetkij-poisk"><span style=" text-decoration: underline; color:#0000ff;">				Like - оператор VBA для сравнения строки с шаблоном. Нечеткий поиск</span></a></li>
<li style=" font-family:'DejaVu Sans'; font-size:11pt;" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://macros-vba.ru/nadstrojki/excel/183-diapazon-excel"><span style=" text-decoration: underline; color:#0000ff;">				Диапазон Excel. Выделение, сравнение, изменение диапазонов значений</span></a></li>
<li style=" font-family:'DejaVu Sans'; font-size:11pt;" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://macros-vba.ru/nadstrojki/excel/171-kak-sravnit-dva-stolbtsa-ili-diapazona-v-excel"><span style=" text-decoration: underline; color:#0000ff;">				Как сравнить два столбца/диапазона в Excel 2007/2010/2013/2016?</span></a></li>
<li style=" font-family:'DejaVu Sans'; font-size:11pt;" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://macros-vba.ru/video/excel/185-video-po-bystromu-sravneniyu-dvuh-diapazonov"><span style=" text-decoration: underline; color:#0000ff;">				Видео по быстрому сравнению двух диапазонов в Excel</span></a></li></ul></body></html>